﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Wix.Aura.Common.CustomTypes;
using System.Xml.Serialization;

namespace Wix.Aura.Common {
	public class CopyFile : IXmlSerializable {
		private CopyFile() { }
		public CopyFile(string id) {
			Id = id;
		}

		public string Id { get; set; }
		public YesNoType Delete { get; set; }
		public string DestinationDirectory { get; set; }
		public LongFileNameType DestinationLongName { get; set; }
		public LongFileNameType DestinationName { get; set; }
		public string DestinationProperty { get; set; }
		public ShortFileNameType? DestinationShortName { get; set; }
		public string FileId { get; set; }
		public string SourceDirectory { get; set; }
		public WildCardLongFileNameType SourceName { get; set; }
		public string SourceProperty { get; set; }

		public System.Xml.Schema.XmlSchema GetSchema() {
			throw new NotImplementedException();
		}

		public void ReadXml(System.Xml.XmlReader reader) {
			throw new NotImplementedException();
		}

		public void WriteXml(System.Xml.XmlWriter writer) {
			writer.WriteStartElement("CopyFile");
			writer.WriteAttribute("Id", Id);
			writer.WriteAttribute("Delete", Delete);
			writer.WriteAttribute("DestinationDirectory", DestinationDirectory);
			writer.WriteAttribute("DestinationLongName", DestinationLongName);
			writer.WriteAttribute("DestinationName", DestinationName);
			writer.WriteAttribute("DestinationProperty", DestinationProperty);
			writer.WriteAttribute("DestinationShortName", DestinationShortName);
			writer.WriteAttribute("FileId", FileId);
			writer.WriteAttribute("SourceDirectory", SourceDirectory);
			writer.WriteAttribute("SourceName", SourceName);
			writer.WriteAttribute("SourceProperty", SourceProperty);
			writer.WriteEndElement();
		}
	}
}
